<?php
/**
 * Pengai functions and definitions
 *
 * @package WordPress
 * @subpackage Pengai
 * @since Pengai 1.0
 */
/**
 * 限制WordPress版本为4.1以上。
 */
if ( version_compare( $GLOBALS['wp_version'], '4.1-alpha', '<' ) ) {
	require get_template_directory() . '/inc/back-compat.php';
}
/**
 * 自定义样式、js加载.
 * @since Pengai 1.0
 */

 
function pengai_scripts() {
	// Add custom style script.
	//wp_register_style( '', get_template_directory_uri() . '');
	//wp_register_script( '', get_template_directory_uri() . '',false,'',false);
	//注册样式以及JS/
	//css
	wp_register_style( 'css' , get_template_directory_uri().'/css/css.css' , array() , false , 'all' );
	wp_register_style( 'swiper' , get_template_directory_uri().'/css/swiper.min.css' , array() , false , 'all' );
	wp_register_style( 'style' , get_template_directory_uri().'/css/style.css' , array() , false , 'all' );
	//JS
    wp_register_script( 'iScroll' , get_template_directory_uri().'/js/iScroll.js' , array() , false , true );

    wp_register_script( 'menu' , get_template_directory_uri().'/js/menu.js' , array() , false , true );
    wp_register_script( 'TouchSlide' , get_template_directory_uri().'/js/TouchSlide.1.1.js' , array() , false , true );
    wp_register_script( 'newMain' , get_template_directory_uri().'/js/newMain.js' , array() , false , true );
    wp_register_script( 'swiper' , get_template_directory_uri().'/js/swiper.min.js' , array() , false , true );
 
    wp_register_script( 'special_ad' , get_template_directory_uri().'/js/special_ad.js' , array() , false , true );
    wp_register_script( 'public' , get_template_directory_uri().'/js/public.js' , array() , false , true );
	//加载方法
	//wp_enqueue_style('public');
	//wp_enqueue_script('index');
	//公用css
	wp_enqueue_style('css');
	wp_enqueue_style('swiper');
	wp_enqueue_style('style');

	//////公用js
    // wp_enqueue_script('transition.min');
    // wp_enqueue_script('transform3d');
	
	wp_enqueue_script('swiper');
	wp_enqueue_script('iScroll');
	wp_enqueue_script('menu');
	wp_enqueue_script('TouchSlide');
	wp_enqueue_script('newMain');
	wp_enqueue_script('public');
	
	if(is_single()){
        if(get_post_type($post->ID)=='special'){
			wp_enqueue_script('special_ad');
        }
    }
}
add_action( 'wp_enqueue_scripts', 'pengai_scripts' );

/*
	替换WordPress自带jq文件。
*/
add_action( 'pre_get_posts', 'jquery_register' );
function jquery_register() {
	if ( !is_admin() ) {
		wp_deregister_script( 'jquery' );
		wp_register_script( 'jquery', '/wp-content/themes/pai2016/js/jQuery.min.js' , false, null, false );
		wp_enqueue_script( 'jquery' );
	}
}


//控制部分专题能打开、其他专题直接跳转到快商通
/*
function redirectZt(){
	$obj = get_queried_object();
	$post_id = $obj->ID;
	$post_type = $obj->post_type;
	//需要显示的专题id
	$show_arr_id = [12942,13140,12893];
	if($post_type=="special"&&!in_array($post_id,$show_arr_id)){
		header("location:https://dqt.zoosnet.net/LR/Chatpre.aspx?id=DQT60721914&cid=15587a4ca72946f6965c5c544fda84fe&lng=cn&sid=023d5a50eb8442128cbf5846c6549cd1&p=http%3A//m.hzpayy.cn/&rf1=&rf2=&msg=&d=1546571893621");
	}
}
add_action( 'wp_enqueue_scripts', 'redirectZt' );
*/

//注册菜单
include_once('inc/custom_nav.php');
//注册自定义文章类型
include_once('inc/custom-post-type.php');
//自定义各类型文章模板（此处重点用于专题模板自定义）
include_once('inc/wp-custom-post-template/wp-custom-post-template.php');
//违禁词屏蔽
include_once('inc/keyword-filter.php');

/****************主题自定义设置****************************/
//修改/themes/主题中的functions.php（7-12均修改此文件）
//7、禁用 auto-embeds (oEmbed，oEmbed的功能就是只需要在日志中输入一个视频网站或者图片分享的 URL，这个 URL 里面含有的视频或者图片就自动显示出来，但是很可惜的是只支持部分英文网站，对于中文站来说这个功能是多余的。)：
    remove_filter( 'the_content', array( $GLOBALS['wp_embed'], 'autoembed' ), 8 );
//8、禁用XML-RPC接口（WordPress提供了XML-RPC接口使得第三方的博客写作软件(如windows live writer等)可以与之通信来发布和修改博客。）：
    add_filter('xmlrpc_enabled', '__return_false');
//9、加速优化之精简头部代码
	remove_action( 'wp_head', 'feed_links', 2 ); //移除feed
	remove_action( 'wp_head', 'feed_links_extra', 3 ); //移除feed
	remove_action( 'wp_head', 'rsd_link' ); //移除离线编辑器开放接口
	remove_action( 'wp_head', 'wlwmanifest_link' );  //移除离线编辑器开放接口
	remove_action( 'wp_head', 'wp_generator' ); //移除WordPress版本
	remove_action( 'wp_head', 'rel_canonical' ); //移除文章页面链接
	remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
	add_action('widgets_init', 'my_remove_recent_comments_style');
	function my_remove_recent_comments_style() {   
		global $wp_widget_factory;   
		remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style'));   
	}
	//去掉emoji表情参数
	remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
	remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
	remove_action( 'wp_print_styles', 'print_emoji_styles' );
	remove_action( 'admin_print_styles', 'print_emoji_styles' );
//10、去掉js和CSS的版本号
//在主题的function.php中增加下面
     function sb_remove_script_version( $src ){
          $parts = explode( '?', $src );
          return $parts[0];
     }
     add_filter( 'script_loader_src', 'sb_remove_script_version', 15, 1 );
     add_filter( 'style_loader_src', 'sb_remove_script_version', 15, 1 );    
//11、全站使用相对链接 并解决sitemap与feed中调用相对链接问题
     add_action( 'template_redirect', 'rw_relative_urls' );
     function rw_relative_urls() {
          if ( is_feed() || get_query_var( 'sitemap' ) ) //判断是否为feed页面或者sitemap页面
               return;
          $filters = array(
               'post_link',
               'post_type_link',
               'page_link',
               'attachment_link',
               'get_shortlink',
               'post_type_archive_link',
               'get_pagenum_link',
               'get_comments_pagenum_link',
               'term_link',
               'search_link',
               'day_link',
               'month_link',
               'year_link',
          );
          foreach ( $filters as $filter )
          {
               add_filter( $filter, 'wp_make_link_relative' );
          }
     }
//12、去除顶部工具条
show_admin_bar(false);
add_filter('show_admin_bar', '__return_false');
//13、隐藏更新信息
add_action('admin_menu','wp_hide_nag');
function wp_hide_nag() {
	remove_action( 'admin_notices', 'update_nag', 3 );
}
add_filter('pre_site_transient_update_core',    create_function('$a', "return null;")); // 关闭核心提示
add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // 关闭插件提示
add_filter('pre_site_transient_update_themes',  create_function('$a', "return null;")); // 关闭主题提示
remove_action('admin_init', '_maybe_update_core');    // 禁止 WordPress 检查更新
remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件
remove_action('admin_init', '_maybe_update_themes');  // 禁止 WordPress 更新主题
/**
*	主题设置
*	page_title 		(字符串) 显示在页面中的标题
*	menu_title 		(字符串) 用于显示在侧边导航栏的标题，留空则默认与page_title相同。
*	menu_slug 		(字符串) 页面别名，用于引用当前页面，默认为一个url menu_slug友好的版本。(必须值，且唯一). 页面链接：/wp-admin/admin.php?page=menu_slug
*	capability		(字符串) 用于指定当前菜单的功能，默认值为edit_posts，如果需要了解更多可以查看网址：http://codex.wordpress.org/Roles_and_Capabilities
*	position 		(数字|字符串) 用于控制当前菜单的位置。如果两个菜单的值相同的话，其中一个可能会被覆盖，导致只显示一个菜单！
*	parent_slug 	(字符串) 父级的别名，如果定义此项，这个菜单将会成为子菜单。
*	icon_url 		(字符串) 菜单图标，默认为WordPress自带样式，可在https://developer.wordpress.org/resource/dashicons中选择，值为图标后面的dashicons-xx
*	redirect 		(布尔值) 设置为true，则将父页面重定向到第一个子菜单，设置为false，则父菜单单独为一个页面。
*	post_id 		(数字|字符串) 此post_id用于保存和加载数据，可以为数字也可以为字符串，默认为options。
*	autoload 		(布尔值)  是否在WordPress启东市自动加载。默认flase。
*/
if( function_exists('acf_add_options_page') ) {
	$pai_options = array(
		'page_title' => '主题设置',
		'menu_title' => '主题设置',
		'menu_slug' => 'pai2015-options',
		'capability' => 'edit_posts',
		'position' => 999,
		'parent_slug' => '',
		'icon_url' => 'dashicons-admin-home',
		'redirect' => false,
		'post_id' => 'options',
		'autoload' => false,	
	);
	$public_part = array(
		'page_title' => '公用板块',
		'menu_title' => '公用板块',
		'menu_slug' => 'public_part',
		'capability' => 'edit_posts',
		'position' => 2,
		'parent_slug' => 'edit.php?post_type=page',
		'icon_url' => '',
		'redirect' => true,
		'post_id' => 'public',
		'autoload' => true,
	);
	$project_star = array(
		'page_title' => '明星项目',
		'menu_title' => '',
		'menu_slug' => 'project_star',
		'capability' => 'edit_posts',
		'position' => 3,
		'parent_slug' => 'edit.php?post_type=projects',
		'icon_url' => '',
		'redirect' => true,
		'post_id' => 'project_star',
		'autoload' => false,	
	);
	acf_add_options_page($pai_options);
	acf_add_options_sub_page($public_part);
}
/**
*站点图片裁切处理函数
*此处引用timthumb.php图片裁切文件。
*参数信息：
*$src,图片地址
*$w,裁切后图片宽度
*$h,裁切后图片高度
*$zc,是否裁切，1为裁切，0为只缩放不裁切。默认1。
*/
if(!function_exists('timthumb')){
	function timthumb($src,$w,$h,$zc=1){
		if($src){
			$src=str_replace(home_url(),'',$src);
		}else{
			$src="/wp-content/themes/".get_stylesheet()."/images/default.jpg";
		}
		echo "/wp-content/themes/".get_stylesheet()."/timthumb.php?src=".$src."&w=".$w."&h=".$h."&zc=".$zc."&q=100";
	}
}
/*
*编辑器增强
*/
function add_editor_buttons($buttons) {
$buttons[] = 'fontselect';
$buttons[] = 'fontsizeselect';
$buttons[] = 'cleanup';
$buttons[] = 'styleselect';
$buttons[] = 'hr';
$buttons[] = 'del';
$buttons[] = 'sub';
$buttons[] = 'sup';
$buttons[] = 'anchor';
$buttons[] = 'backcolor';
$buttons[] = 'wp_page';
$buttons[] = 'charmap';
$buttons[] = 'code';
return $buttons;
}
add_filter("mce_buttons_2", "add_editor_buttons");
/*
*文章内容替换
*/
function pai_replace_text($text){
	$replace = array(
		// '原始文字' => '替换为这些'
		'/swt' => get_field('swt_link','options')
		);
	$text = str_replace(array_keys($replace), $replace, $text);
	return $text;
}
add_filter('the_content', 'pai_replace_text');
/*
*禁用Google字体
*/
	function coolwp_remove_open_sans_from_wp_core() {
	    wp_deregister_style( 'open-sans' );
	    wp_register_style( 'open-sans', false );
	    wp_enqueue_style('open-sans','');
	}
add_action( 'init', 'coolwp_remove_open_sans_from_wp_core' );
/**
*限制搜索结果
*/
//让搜索支持自定义文章类型
function searchAll( $query ) {
  if ( $query->is_search ) { $query->set( 'post_type', array( 'post','projects','special' )); } 
  return $query;
}
add_filter( 'pre_get_posts', 'searchAll' );
/**
*禁止文章图片自动加链接
*/
function wpc_imagelink_setup() {
	$image_set = get_option( 'image_default_link_type' );
	if ($image_set !== 'none') {
		update_option('image_default_link_type', 'none');
	}
}
add_action('admin_init', 'wpc_imagelink_setup', 10);

function dd($arr){
	echo "<!--<pre>";
	print_r($arr);
	echo "</pre>-->";
}

//取出p标记
function strip($str)
{
$str=str_replace("<p>","",$str);
//$str=htmlspecialchars($str);
$str=str_replace("</p>","",$str);
return $str;
}

// 自适应图片删除width和height，by Ludou
function ludou_remove_width_height_attribute($content){
  preg_match_all('/<[img|IMG].*?src=[\'|"](.*?(?:[\.gif|\.jpg|\.png\.bmp]))[\'|"].*?[\/]?>/', $content, $images);
  if(!empty($images)) {
    foreach($images[0] as $index => $value){
      $new_img = preg_replace('/(width|height)="\d*"\s/', "", $images[0][$index]);
      $content = str_replace($images[0][$index], $new_img, $content);
    }
  }
  return $content;
}

/// 函数作用：取得文章的阅读次数
function post_views(){
	return rand(120,140);
}

/// 函数作用：评论数
function post_say(){
	return rand(20,40);
}

// 清除缓存
add_action("admin_bar_menu","delete_all_cache",999);

function delete_all_cache($wp_admin_bar){
	$args = array(
		"id"	=>	"delete_cache",
		"title"	=>	"<span id='delallcache'>清除全站缓存</span>"
	);
	$wp_admin_bar->add_node($args);
}

//后台底部自定义文件添加钩子，将需要添加的内容放入
add_action('admin_footer', 'add_theme_options_footer');
function add_theme_options_footer() {
    $footer_content=<<<EOF


	<link rel="stylesheet" href="https://pai-common-file.oss-cn-beijing.aliyuncs.com/special/chosen.css">

	<script type="text/javascript" src="https://pai-common-file.oss-cn-beijing.aliyuncs.com/special/chosen.jquery.js"></script>

	<script type="text/javascript" src="/wp-content/plugins/wp-super-cache/del.js"></script>

	<script src="https://cdn.bootcss.com/jquery.nicescroll/3.7.6/jquery.nicescroll.js"></script>
	<script type="text/javascript">
		(function($){
			$('.dept_select').chosen();
			
			$('.chosen-results').niceScroll({
				cursorcolor: "#ccc",//#CC0071 光标颜色
				cursoropacitymax: 1, //改变不透明度非常光标处于活动状态（scrollabar“可见”状态），范围从1到0
				touchbehavior: false, //使光标拖动滚动像在台式电脑触摸设备
				cursorwidth: "5px", //像素光标的宽度
				cursorborder: "0", // 	游标边框css定义
				cursorborderradius: "5px",//以像素为光标边界半径
				autohidemode: false //是否隐藏滚动条
			});
		})(jQuery);
	</script>
		
EOF;
echo $footer_content;
}

add_filter( 'wp_update_attachment_metadata', 'rips_unlink_tempfix' );
function rips_unlink_tempfix( $data ) {
    if( isset($data['thumb']) ) {
        $data['thumb'] = basename($data['thumb']);
    }
    return $data;
}
